/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package EntityState;

import java.io.Serializable;
import java.util.List;

/**
 *
 * @author James
 */
public class PartnerAccountState implements Serializable {
    private String  username;
    private String  password;
    private String  IC;
    private String  firstName;
    private String  lastName;
    private String  gender;
    private String  address1;
    private String  address2;
    private String  postalCode;
    private String  countryCode;
    private String  phone;
    private String  email;
    private String  country;
    private String  province;
    private String  city;
    private String  timezone; 
    private boolean active;
    private boolean activated;
    private int     accountLevel; // Let partner set their own level for accounts, lower level account can't make changes to higher level account
    private long    birthday;
    private long    registeredDate;
    private List<PartnerPrivilegeState> listOfPrivileges;
    private PartnerState thePartner;
    private OutletState  theOutlet;

    public PartnerAccountState(String username, String IC, String firstName, String lastName, String address1, String address2, String postalCode, String countryCode, String phone, String email, String country, String province, String city, String timezone, boolean active, boolean activated, int accountLevel, long registeredDate, List<PartnerPrivilegeState> listOfPrivileges, PartnerState thePartner, OutletState theOutlet) {
        this.username         = username;
        this.IC               = IC;
        this.firstName        = firstName;
        this.lastName         = lastName;
        this.address1         = address1;
        this.address2         = address2;
        this.postalCode       = postalCode;
        this.countryCode      = countryCode;
        this.phone            = phone;
        this.email            = email;
        this.country          = country;
        this.province         = province;
        this.city             = city;
        this.timezone         = timezone;
        this.active           = active;
        this.activated        = activated;
        this.accountLevel     = accountLevel;
        this.registeredDate   = registeredDate;
        this.listOfPrivileges = listOfPrivileges;
        this.thePartner       = thePartner;
        this.theOutlet        = theOutlet;
    }
    
    public PartnerAccountState(String username, String IC, String firstName, String lastName, String gender, String address1, String address2, String postalCode, String countryCode, String phone, String email, String country, String province, String city, String timezone, boolean active, boolean activated, int accountLevel, long birthday, long registeredDate, List<PartnerPrivilegeState> listOfPrivileges) {
        this.username         = username;
        this.IC               = IC;
        this.firstName        = firstName;
        this.lastName         = lastName;
        this.gender           = gender;
        this.timezone         = timezone;
        this.address1         = address1;
        this.address2         = address2;
        this.postalCode       = postalCode;
        this.countryCode      = countryCode;
        this.phone            = phone;
        this.email            = email;
        this.country          = country;
        this.province         = province;
        this.city             = city;
        this.active           = active;
        this.activated        = activated;
        this.accountLevel     = accountLevel;
        this.birthday         = birthday;
        this.registeredDate   = registeredDate;
        this.listOfPrivileges = listOfPrivileges;
    }
    
    public PartnerAccountState(boolean active, boolean activated) {
        this.active    = active;
        this.activated = activated;
    }
    
    //Getters and Setters
    public String getIC() {
        return IC;
    }

    public void setIC(String IC) {
        this.IC = IC;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public int getAccountLevel() {
        return accountLevel;
    }

    public void setAccountLevel(int accountLevel) {
        this.accountLevel = accountLevel;
    }

    public boolean isActivated() {
        return activated;
    }

    public void setActivated(boolean activated) {
        this.activated = activated;
    }

    public boolean isActive() {
        return active;
    }

    public void setActive(boolean active) {
        this.active = active;
    }

    public String getAddress1() {
        return address1;
    }

    public void setAddress1(String address1) {
        this.address1 = address1;
    }

    public String getAddress2() {
        return address2;
    }

    public void setAddress2(String address2) {
        this.address2 = address2;
    }

    public long getBirthday() {
        return birthday;
    }

    public void setBirthday(long birthday) {
        this.birthday = birthday;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getCountryCode() {
        return countryCode;
    }

    public void setCountryCode(String countryCode) {
        this.countryCode = countryCode;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public List<PartnerPrivilegeState> getListOfPrivileges() {
        return listOfPrivileges;
    }

    public void setListOfPrivileges(List<PartnerPrivilegeState> listOfPrivileges) {
        this.listOfPrivileges = listOfPrivileges;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getPostalCode() {
        return postalCode;
    }

    public void setPostalCode(String postalCode) {
        this.postalCode = postalCode;
    }

    public long getRegisteredDate() {
        return registeredDate;
    }

    public void setRegisteredDate(long registeredDate) {
        this.registeredDate = registeredDate;
    }

    public OutletState getOutlet() {
        return theOutlet;
    }

    public void setOutlet(OutletState theOutlet) {
        this.theOutlet = theOutlet;
    }

    public PartnerState getPartner() {
        return thePartner;
    }

    public void setPartner(PartnerState thePartner) {
        this.thePartner = thePartner;
    }

    public String getTimezone() {
        return timezone;
    }

    public void setTimezone(String timezone) {
        this.timezone = timezone;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }
}
